#include <vector>
#include <iostream>
#include "include/Mission_3.h"
#include "include/Jeu.h"
#include "include/Monde.h"
#include "include/Continent.h"

using namespace std;


Mission_3::Mission_3(const char * _description) 
   : MissionStrategy(_description), europe(NULL), oceanie(NULL)
{
}

/**
 * Vous devez conquerir en totalite l'Europe et l'Oceanie plus un troisieme continent au choix.
 */
bool Mission_3::estAccomplie(Joueur * _joueur)
{
   if ( !europe )
       europe = Jeu::jeu->getMonde()->getContinentByName("Europe");
   if ( !oceanie )
      oceanie = Jeu::jeu->getMonde()->getContinentByName("Oceanie");

   if ( europe->appartientAuJoueur( _joueur ) && oceanie->appartientAuJoueur( _joueur ) )
   {
      vector<Continent*>::iterator continents_ite;
      for(continents_ite = Jeu::jeu->getMonde()->getContinents()->begin();
          continents_ite != Jeu::jeu->getMonde()->getContinents()->end();
          continents_ite++)
      {
         if ( *continents_ite != europe && *continents_ite != oceanie )
            if ( (*continents_ite)->appartientAuJoueur( _joueur ) )
               return true;
      }
   }
   return false;
}
